/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package session.stateless;

import util.entityhelper.TouristAccountState;
import util.enumeration.Country;
import exception.ExistException;
import java.util.Date;
import javax.ejb.Local;
import util.enumeration.Gender;

/**
 *
 * @author Swee Zhi
 */
@Local
public interface TouristAccountManagerLocal {
    // TODO: i am not sure if i should put update touristaccount and tourist all under touristaccount not... sigh
    // create and del makes sense must be together.. 
    public void createTouristAccount(String username, String password, String lastName, String firstName, Gender gender, Date birthdate, Country country, String locale, String email, String emailSecondary) throws ExistException;
    public void updateTouristAccount(Long touristAccountId, String password) throws ExistException;
    public void updateTourist(Long touristId, Country country, String locale, String emailSecondary) throws ExistException;
    public void deleteTouristAccount(Long touristAccountId) throws ExistException;
    public TouristAccountState getTouristAccountByID(Long touristAccountId) throws ExistException;
    public TouristAccountState getTouristAccountByUsername(String username) throws ExistException;
//    public HashSet<TouristAccountState> getTouristAccountsByID(String touristAccountId) throws ExistException;
//    public HashSet<TouristAccountState> getTouristAccountsByUsername(String username) throws ExistException;
    public void setSelectedLocale(String selectedLocale);
    public void remove();
}
